// AI模型接口
export interface AiModel {
  id: number;
  name: string;
  modelKey: string;
  icon: string;
  iconClass: string;
  colorClass: string;
  selected: boolean;
  free: boolean;
  modelDescription?: string;
  rankPosition?: number;
  flowersCount?: number;
  eggsCount?: number;
  popularityScore?: number;
  discussionsCount?: number;
  responseSpeedScore?: number;
  accuracyScore?: number;
  copywritingScore?: number;
  drawingScore?: number;
  programmingScore?: number;
}

// 聊天历史项接口
export interface ChatHistoryItem {
  question: string
  responses: { [modelKey: string]: StreamResponse }
  timestamp: Date
  roundNumber?: number
  isFirstRound?: boolean
  models?: AiModel[]  // 添加模型列表
}

// 流式响应接口
export interface StreamResponse {
  modelKey: string;
  modelName: string;
  content: string;
  thinkingContent: string;
  status: 'streaming' | 'success' | 'error';
  error?: string;
  timestamp?: Date;
}

// 历史记录项接口
export interface ConversationHistoryItem {
  conversationId: string;
  question: string;
  timestamp: Date;
  modelCount: number;
  models: string[];
}

// 模型显示配置接口
export interface ModelDisplayConfig {
  iconClass: string;
  colorClass: string;
}

// 模型详细信息接口
export interface ModelDetails {
  rank: number;
  flowers: number;
  eggs: number;
  popularity: number;
  discussions: number;
  ratings: {
    responseSpeed: { score: number; stars: number };
    accuracy: { score: number; stars: number };
    copywriting: { score: number; stars: number };
    drawing: { score: number; stars: number };
    programming: { score: number; stars: number };
  };
}
